package com.xiaobias.moveZeroes;

/**
 * 283. 移动零
 */
public class MoveZeroes283 {
    public void moveZeroes(int[] nums) {
        if (nums == null) {
            return;
        }
        // 第一次遍历的时候，j 指针记录非 0 的个数， 只要是非 0 的统统都赋给 nums[j]
        int j = 0;
        for (int i = 0; i < nums.length; ++ i) {
            if (nums[i] != 0) {
                nums[j ++] = nums[i];
            }
        }
        // 非 0 统计完了，剩下的都是 0 了
        // 所以第二次遍历把末尾的元素都赋值为 0 即可
        for (int i = j; i < nums.length; ++ i) {
            nums[i] = 0;
        }
    }
}
